﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Crosland.Offline.Logic;
using Crosland.Offline.Core;
using Crosland.Framework.Base;

namespace Crosland.Offline.WinForm
{
    public partial class Cotizacion : Form
    {
        CotizacionLogic logic = new CotizacionLogic();
        private ClienteLista formCliente = null;
        private string CodigoCliente = null;

        public Cotizacion()
        {
            InitializeComponent();
        }

        private void Cotizacion_Load(object sender, EventArgs e)
        {
            this.CargarDatos();
            this.ucBusquedaMaterial.Aceptar += new EventHandler(ucBusquedaMaterial_Aceptar);
            this.formCliente = new ClienteLista();
            this.formCliente.ucClienteListado.ModoOperacion = ModoVentana.Popup;
            this.formCliente.ucClienteListado.SeleccionCliente+=new DataGridViewCellEventHandler(ucClienteListado_SeleccionCliente);
            this.formCliente.ucClienteListado.Aceptar += new EventHandler(ucClienteListado_Aceptar);           
        }

        protected void ucClienteListado_Aceptar(object sender, EventArgs e)
        {
            this.CodigoCliente = this.formCliente.ucClienteListado.formEdit.ucClienteMantanimiento.CodigoCliente;
            this.CargarDatosCliente();
            this.formCliente.Close();
        }
        
        private void ucBusquedaMaterial_Aceptar(object sender, EventArgs e)
        {
            this.panMatBusqueda.Visible = false;
            foreach (string codigo in this.ucBusquedaMaterial.Codigos)
            {
                this.AgregarMaterial(codigo);
            }
        }
                
        private void btnBuscarMateriales_Click(object sender, EventArgs e)
        {
            this.ucBusquedaMaterial.Show();
            this.panMatBusqueda.Visible = !this.panMatBusqueda.Visible;            
        }

        private void dgvPanBusqMateriales_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            this.panMatBusqueda.Visible = false;            
        }

        private void btnMatAdicionar_Click(object sender, EventArgs e)
        {
            this.AgregarMaterial(this.txtMatCodigo.Text);
        }
                
        private void btnCliente_Click(object sender, EventArgs e)
        {
            this.formCliente.ShowDialog(this);
        }

        protected void ucClienteListado_SeleccionCliente(object sender, DataGridViewCellEventArgs e)
        {
            this.CodigoCliente = this.formCliente.ucClienteListado.CodigoCliente;
            this.CargarDatosCliente();
            this.formCliente.Close();
        }
                
        private void btnMatBorrar_Click(object sender, EventArgs e)
        {

        }

        protected void CargarDatos()
        {
            this.cboMoneda.DataSource = (new ParametroLogic()).GetByCriteria("moneda");
            this.cboMoneda.DisplayMember = "DesParametro";
            this.cboMoneda.ValueMember = "DesValor";
        }
                
        protected void AgregarMaterial(string codigo)
        {

        }
             
        protected void CargarDatosCliente()
        {
            Cliente cliente = (new ClienteLogic()).ObtenerCliente(this.CodigoCliente);
            this.txtCodCliente.Text = this.CodigoCliente;
            this.txtClienteNomRazonSocial.Text = cliente.Name1 + " " + cliente.Name2;

            Cliente interlocutor = (new ClienteLogic()).ObtenerInterlocutor(this.CodigoCliente,
                "RG");
            this.txtDestMerc.Text = interlocutor.ID;
            this.txtDestMercNomRazonSocial.Text = interlocutor.Name1 + " " + interlocutor.Name2;
        }       
        
    }
}
